package com.zmm.common.redis.key;

/**
 * @author 900045
 * @description:
 * @name CommonKey
 * @date By 2021-06-22 14:24:28
 */
public enum CommonKey implements RedisKey {
	/**
	 * 字典： 分类列表
	 */
	DICT_VERSION_KEY("DICT:VERSION"),

	/**
	 * 字典： 地区前缀
	 */
	DICT_REGION_PROVINCE("DICT:REGION_PROVINCE"),

	DICT_REGION_CITY("DICT:REGION_CITY"),

	DICT_REGION_DISTRICT("DICT:REGION_DISTRICT"),


	/**
	 * 字典： 地区前缀 2.0 版本
	 */
	DICT_REGION_PROVINCE_V2("DICT:REGION_V2_PROVINCE"),

	DICT_REGION_CITY_V2("DICT:REGION_V2_CITY"),

	DICT_REGION_DISTRICT_V2("DICT:REGION_V2_DISTRICT"),

	DICT_REGION_TOWN_V2("DICT:REGION_V2_TOWN"),


	/**
	 * 认证： 用户信息
	 */
	AUTH_USER_KEY("AUTH:USER"),

	/**
	 * 认证： token 对应的 用户编码
	 */
	AUTH_TOKEN_USER_PREFIX("AUTH:TOKEN_USER_"),

	/**
	 * 认证： 刷新token 对应的 用户编码
	 */
	AUTH_TOKEN_REFRESH_PREFIX("AUTH:TOKEN_R_USER_"),
	
	
	;

	private String key;

	CommonKey() {
		key = this.name();
	}

	CommonKey(String key) {
		this.key = key;
	}


	@Override
	public String getKey() {
		String suffix = getSuffix();
		if (suffix == null) {
			return key;
		}
		return new StringBuilder(this.key).append(SEPARATE).append(suffix).toString();
	}
}
